Permitting a user to interact with a device or an application running on a device is useful in many different settings. For example, electronic systems include devices (e.g., keyboards, mice, and joysticks) to enable a user to input and manipulate data, and cause the system to execute a variety of other actions. Increasingly, however, touch-based input devices, such as keyboards, mice, and joysticks, are being replaced by, or supplemented with, devices that permit touch-free user interaction. For example, a system may include an image sensor to capture images of a user, including, for example, a user's hands and/or fingers. The device may include a processor that is configured to receive such images and initiate actions based on touch-free gestures performed by the user's hands and fingers.
Touch-free systems generally detect large movements of the entire hand, but these systems lack sufficient accuracy and precision to enable data input capabilities that rival the usage of physical computer peripherals. For example, these systems cannot detect subtle movements and gestures to fully simulate typing on a keyboard. Improvements in techniques for touch-free typing and data entry are desirable to provide a better and more accurate user experience.